import java.util.*;

public class MapHa {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("1", "Jack");
        map.put("2", "Rose");
        map.put("3", "Lucy");
        map.put("4", "Lucy");
        map.put("1", "Tom");
        System.out.println(map);
//        查看键对象是否存在
        System.out.println(map.containsKey("1"));
//        获取指定健对象的值
        System.out.println(map.get("1"));
//        获取集合中所有健对象和只对象的集合
        System.out.println(map.keySet());
        System.out.println(map.values());
//        替换指定健对象的值
        System.out.println(map.replace("1","Tom2"));
        System.out.println(map);
//        删除指定健对象对应的值
        System.out.println(map.remove("1"));
        System.out.println(map);
        Set s = map.keySet();
        // 获取集合s的迭代器，用于遍历集合中的每个元素
        Iterator iterator = s.iterator();
        // 当迭代器中有下一个元素时，执行循环
        while(iterator.hasNext()){
            // 从迭代器中获取下一个元素作为键
            Object key =  iterator.next();
            // 使用键从map中获取对应的值
            Object vlaus = map.get(key);
            // 打印map中的值
            System.out.println(vlaus);
        }
        // 分隔线，用于区分不同的遍历方式
        System.out.println("++++++++++++++++++");
        // 获取map的entrySet视图，用于遍历map中的键值对
        Set s1 = map.entrySet();
        // 获取entrySet视图的迭代器
        Iterator iterator1 = s1.iterator();
        // 当迭代器中有下一个元素时，执行循环
        while(iterator1.hasNext()){
            // 从迭代器中获取下一个元素，并将其转换为Map.Entry对象
            Map.Entry en = (Map.Entry)(iterator1.next());
            // 获取Map.Entry对象的键
            Object key = en.getKey();
            // 获取Map.Entry对象的值
            Object valus = en.getValue();
            // 打印键值对，格式为“键:值”
            System.out.println(key+":"+valus);

        }
        System.out.println("+++++++++++++");
        map.forEach((k,v)-> System.out.println(k+":"+v));
    }


}
